<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组实现栈结构</title>
</head>

<body>
    <script>
        // 封装栈类
        function Stack() {
        //   栈的属性
        this.items = []
        //   栈的方法
        // 1.向栈添加元素的方法
        this.push = function(e){
            this.items.push(e)
        }
        // 2.从栈移除元素的方法
        this.pop = function(){
            return this.items.pop()
        }
        // 3.查看栈顶元素的方法
        this.peek = function(){ 
            return this.items[this.items.length - 1]
        }
        // 4.判断栈是否为空的方法
        this.isEmpty = function(){  
            return this.items.length === 0
        }
        // 5.获取栈中元素个数的方法
        this.size = function(){  
            return this.items.length        
        }
        // 6.清空栈的方法
        this.clear = function(){  
            this.items = [] 
        }
        // 7.toString方法
        this.toString = function(){  
            var resultString = ''   
            for(var i = 0; i < this.items.length; i++){
                resultString += this.items[i] + ' '
            }
            return resultString
        }
    }
            // 栈的使用
            var stack = new Stack()
    </script>
</body>

</html>
